<?php

namespace App\CustHub\Vo;

use App\CustHub\Constants\UserMoneyLogTypeConstants;

class PaymentVo
{
    /**
     * 用户ID
     * @var int
     */
    protected int $uid;

    /**
     * 订单编号
     * @var string
     */
    protected string $orderNo;

    /**
     * 支付金额
     * @var float
     */
    protected float $payAmount;

    /**
     * 支付方式
     * @var int
     */
    protected int $payWay;

    /**
     * 支付描述
     * @var string
     */
    protected string $subject;

    /**
     * 支付回调通知地址
     * @var string
     */
    protected string $notifyUrl;

    /**
     * 支付返回地址
     * @var string
     */
    protected string $returnUrl;

    protected ?int $orderId = null;


    protected int $businessType = UserMoneyLogTypeConstants::ADMINISTRATOR;

    public function getUid(): int
    {
        return $this->uid;
    }

    public function setUid(int $uid): void
    {
        $this->uid = $uid;
    }

    public function getOrderNo(): string
    {
        return $this->orderNo;
    }

    public function setOrderNo(string $orderNo): void
    {
        $this->orderNo = $orderNo;
    }

    public function getPayAmount(): float
    {
        return $this->payAmount;
    }

    public function setPayAmount(float $payAmount): void
    {
        $this->payAmount = $payAmount;
    }

    public function getPayWay(): int
    {
        return $this->payWay;
    }

    public function setPayWay(int $payWay): void
    {
        $this->payWay = $payWay;
    }

    public function getSubject(): string
    {
        return $this->subject;
    }

    public function setSubject(string $subject): void
    {
        $this->subject = $subject;
    }

    public function getNotifyUrl(): string
    {
        return $this->notifyUrl;
    }

    public function setNotifyUrl(string $notifyUrl): void
    {
        $this->notifyUrl = $notifyUrl;
    }

    public function getReturnUrl(): string
    {
        return $this->returnUrl;
    }

    public function setReturnUrl(string $returnUrl): void
    {
        $this->returnUrl = $returnUrl;
    }

    public function getOrderId(): ?int
    {
        return $this->orderId;
    }

    public function setOrderId(?int $orderId): void
    {
        $this->orderId = $orderId;
    }

    public function getBusinessType(): int
    {
        return $this->businessType;
    }

    public function setBusinessType(int $businessType): void
    {
        $this->businessType = $businessType;
    }
}